作者:陈家美女22_135 | 来源:互联网 | 2023-05-18 11:52
假设我们有一个upstream
git存储库,它是项目的官方主页,origin
是我们自己的远程git存储库(例如github fork).
在命令行中,我会在发布PR之前重新绑定到主服务器
git pull --rebase upstream master
但我怎么用magit做这个呢?该F
命令允许一个,--rebase
但origin
据我所知,这总是反对我.
理想情况下,我想在F
菜单下使用一个命令来执行此操作,因为这对我来说是非常常见的操作.
1> Brian Campbe..:
在magit
,您可以使用C-u
prefix参数来允许您为推拉操作设置远程.你打算C-u F -r F upstream
这样做.如果您还需要指定分支名称,可以将C-u
前缀加倍:C-u C-u F -r F upstream master
.在Magit的下一个版本2.1.0中,这将更易于访问,F -r o
而不必使用prefix参数.
如果这太麻烦了,我建议你明确地设置上游.git/config
; 然后所有拉动都将来自上游.您可以git branch -u upstream/master
在本地分支上执行此操作,或者git branch -u upstream/master mybranch
如果您在不同的分支上执行此操作.然后,无论您使用Magit还是git
在命令行上,简单git pull --rebase
或F -r F
将从配置的分支拉出.
如果您需要在从不同的仓库中提取时使用自己的个人仓库,则可以随时设置单独的推送以进行推送和拉动.我知道没有方便的命令包装器,但如果你.git/config
直接编辑,你可以这样做:
[branch "mybranch"]
remote = upstream
pushremote = origin
merge = refs/heads/master
如果您正在执行此操作,并且将始终重新定位您的本地分支,您甚至可以添加:
rebase = true
而且不必指定--rebase
你拉的时间.
如果您想为整个仓库而不是单个分支执行此操作,您可以使用:
[remote]
pushdefault = origin
然后让分支从他们配置的上游拉出来,但推送到你自己的回购.